
# 一个类中含有其他的对象

# 组合
# 生命周期一样
# 脸蛋
#    眼睛*2  鼻子    嘴巴   耳朵*2

# 聚合
# 生命周期不一样
# 电脑
#    显示器   CPU   主板   内存   显卡

# class Eye():                          # 定义了 眼睛 这个类 而这个类又在
#     def __init__(self,type):
#         self.type = type
#     def __del__(self):
#         print('眼睛对象被销毁')
#
# class Face():
#     def __init__(self,type,eyeType):
#         self.type = type
#         # 创建我的子部件 眼睛         # 母体 Face 的自变量 self.eye 是 子体Eye 的自变量   这里是通过创建类时 内部进行关联
#         self.eye = Eye(eyeType)
#
#     def __del__(self):
#         print('脸被销毁了')
#
#     def __str__(self):
#         return  '她长了一个' + self.type + '脸，有一双' + self.eye.type + '眼睛'
#
# f = Face('国字脸','大大的')
# print(f)
# del f

# 游戏
#    玩家
#    怪物

# class CPU():
#     def __init__(self,speed):
#         self.speed = speed
#     def __del__(self):
#         print('CPU被销毁了')
#
# class Computer():
#     def __init__(self,cpu):
#         self.cpu = cpu
#     def __del__(self):
#         print('电脑被销毁了')
#     def __str__(self):
#         return '一台' + self.cpu.speed  + '的电脑'
#
# cpu = CPU('I3 2.6g')              # 这里对于关联的实现是通过 外部参数的传入
# pc = Computer(cpu)
# print(pc)
# del pc
# print(cpu)
#
# print('程序结束')

